package com.ajavaer.framework.im.tencent.request.data;

import com.ajavaer.framework.im.tencent.model.TencentImGroupType;
import com.ajavaer.framework.im.tencent.request.filter.GroupResponseFilter;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 获取用户加入的群组
 */
public class GetJoinedGroupListData implements TencentImRequestData {
    /**
     * 必填	需要查询的用户帐号
     */
    @JsonProperty("Member_Account")
    private String memberAccount;
    /**
     * 选填	单次拉取的群组数量，如果不填代表所有群组，分页方式与 <a href='https://cloud.tencent.com/document/product/269/1614'>获取 App 中的所有群组</a> 相同
     */
    @JsonProperty("Limit")
    private Integer limit;
    /**
     * 选填	从第多少个群组开始拉取，分页方式与 <a href='https://cloud.tencent.com/document/product/269/1614'>获取 App 中的所有群组</a> 相同
     */
    @JsonProperty("Offset")
    private Integer offset;
    /**
     * 拉取哪种群组形态，例如Private，Public，ChatRoom 或 AVChatRoom，不填为拉取所有
     */
    @JsonProperty("GroupType")
    private TencentImGroupType groupType;
    /**
     * 分别包含 GroupBaseInfoFilter 和 SelfInfoFilter 两个过滤器；
     * GroupBaseInfoFilter 表示需要拉取哪些基础信息字段，
     * 详情请参阅 <a href='https://cloud.tencent.com/document/product/269/1502'>群组系统</a>；SelfInfoFilter 表示需要拉取用户在每个群组中的哪些个人资料，详情请参阅 <a href='https://cloud.tencent.com/document/product/269/1502'>群组系统</a>
     */
    @JsonProperty("ResponseFilter")
    private GroupResponseFilter responseFilter;

    public String getMemberAccount() {
        return memberAccount;
    }

    public void setMemberAccount(String memberAccount) {
        this.memberAccount = memberAccount;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public TencentImGroupType getGroupType() {
        return groupType;
    }

    public void setGroupType(TencentImGroupType groupType) {
        this.groupType = groupType;
    }

    public GroupResponseFilter getResponseFilter() {
        return responseFilter;
    }

    public void setResponseFilter(GroupResponseFilter responseFilter) {
        this.responseFilter = responseFilter;
    }
}
